import axios from "axios";
// 导入路由，直接调用
import router from "@/router/index.js";

// 单独引入
// 1message弹出提示框
import {
    Message
} from 'element-ui';
// token码的三个方法
import {
    getLocal,
    removeLocal
}
from '@/utils/local.js'


// axios副本
var _fetch = axios.create({
    // 创建副本,修改默认的一些属性
    baseURL: process.env.VUE_APP_URL,
    withCredentials: true
})

// 请求拦截
_fetch.interceptors.request.use(
    function (config) {
        // 在每次请求都增加请求头token--调用token的获取方法
        config.headers.token = getLocal()
        return config
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error)
    }
)
// 响应拦截
_fetch.interceptors.response.use(
    function (response) {
        if (response.data.code == 200) {

            return response.data
        } else if (response.data.code == 206) {
            // 移除token，当token码超时，不安全，就直接打回登录页
            removeLocal()
            // this.$router=router
            router.push('/login')
        } else {
            Message.error(response.data.message)
            return Promise.reject('error')
        }
    },
    function (error) {
        return Promise.reject(error)
    }
)

export default _fetch